﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;

namespace DecisionTree
{
    static class Parameters
    {
        public static int TotalRecordsTraining = 60000;
        public static int TotalRecordsTesting = 10000;

        public static string TrainInputPath = "C:\\trainInputs.data";
        public static string TrainOutputPath = "C:\\trainOutputs.data";
        public static string TestInputPath = "C:\\testInputs.data";
        public static string TestOutputPath = "C:\\testOutputs.data";
        public static int MaxDepth = 60;
        public static int MinNumSamplesPerLeaf = 4;

        public static int NumOutputClasses = 10;
        public static double EntropyTermination = 0.0375;
        public static int UsedFeatureCountAtEveryNode = 15; 

        public static string LogPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\logs.txt";

        public static string Log()
        {
            string rVal = "Parameters: " + Environment.NewLine + "-------------------" + Environment.NewLine;

            foreach (FieldInfo field in typeof(Parameters).GetFields())
            {
                rVal += String.Format("{0} = {1}" + Environment.NewLine, field.Name, field.GetValue(null));
            }

            return rVal;
        }        
    }
}
